
/**
 *
 * @author a100101
 */

/**
 * O design anterior feria o principio LSP por que o método fecharconta era sobrescrito pela classe ContaCorrenteEspecial.
 * Neste novo design, o método é abstrato, sendo que cada classe que herdar de ContaCorrente deve sobrescrevê-lo.
 */

public class Principal {

    public static void main(String[] args) {
        ContaCorrente c1 = new ContaCorrenteNormal(100,2);
        ContaCorrente c2 = new ContaCorrenteEspecial(200,5);
        fecharUmaConta(c1);
        fecharUmaConta(c2);
    }

    private static void fecharUmaConta(ContaCorrente c){
        System.out.println("Resultado: "+c.fecharConta());
    }

}
